package leetCode.offer06;


/**
 * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）
 */
public class Solution1 implements Solution {

    /**
     * 普通实现，首先计算出链表的长度
     * 然后根据长度创建数组，接着再遍历一次链表赋值到数组中
     * @param head
     * @return
     */
    @Override
    public int[] reversePrint(ListNode head) {
        int length = 0;
        ListNode currentNode = head;
        while (currentNode!=null){
            length++;
            currentNode = currentNode.next;
        }
        int[] result = new int[length];
        while (head!=null) {
            result[--length] = head.val;
            head = head.next;
        }
        return result;
    }

}
